using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("TentacleAnimation")]
	public class TentacleAnimation : MonoBehaviour
	{
		public static int RANDOM_INIT_COUNT => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "TentacleAnimation", "RANDOM_INIT_COUNT");

		public float m_MaxAngle => method_2<float>("m_MaxAngle");

		public float m_AnimSpeed => method_2<float>("m_AnimSpeed");

		public float m_Secondary => method_2<float>("m_Secondary");

		public float m_Smooth => method_2<float>("m_Smooth");

		public float m_X_Intensity => method_2<float>("m_X_Intensity");

		public float m_Y_Intensity => method_2<float>("m_Y_Intensity");

		public float m_Z_Intensity => method_2<float>("m_Z_Intensity");

		public List<Transform> m_Bones => method_3<Class271<Transform>>("m_Bones")?.method_25();

		public List<Transform> m_ControlBones => method_3<Class271<Transform>>("m_ControlBones")?.method_25();

		public List<float> m_intensityValues => method_3<Class250<float>>("m_intensityValues")?.method_25();

		public List<float> m_angleX => method_3<Class250<float>>("m_angleX")?.method_25();

		public List<float> m_angleY => method_3<Class250<float>>("m_angleY")?.method_25();

		public List<float> m_angleZ => method_3<Class250<float>>("m_angleZ")?.method_25();

		public List<float> m_velocityX => method_3<Class250<float>>("m_velocityX")?.method_25();

		public List<float> m_velocityY => method_3<Class250<float>>("m_velocityY")?.method_25();

		public List<float> m_velocityZ => method_3<Class250<float>>("m_velocityZ")?.method_25();

		public List<float> m_lastX => method_3<Class250<float>>("m_lastX")?.method_25();

		public List<float> m_lastY => method_3<Class250<float>>("m_lastY")?.method_25();

		public List<float> m_lastZ => method_3<Class250<float>>("m_lastZ")?.method_25();

		public List<Quaternion> m_orgRotation => method_3<Class250<Quaternion>>("m_orgRotation")?.method_25();

		public float m_jointStep => method_2<float>("m_jointStep");

		public float m_secondaryAnim => method_2<float>("m_secondaryAnim");

		public float m_smoothing => method_2<float>("m_smoothing");

		public float m_seedX => method_2<float>("m_seedX");

		public float m_seedY => method_2<float>("m_seedY");

		public float m_seedZ => method_2<float>("m_seedZ");

		public float m_timeSeed => method_2<float>("m_timeSeed");

		public List<int> m_randomNumbers => method_3<Class250<int>>("m_randomNumbers")?.method_25();

		public int m_randomCount => method_2<int>("m_randomCount");

		public TentacleAnimation(IntPtr address, string className)
			: base(address, className)
		{
		}

		public TentacleAnimation(IntPtr address)
			: this(address, "TentacleAnimation")
		{
		}

		public void Start()
		{
			method_8("Start");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void Init()
		{
			method_8("Init");
		}

		public void InitBones()
		{
			method_8("InitBones");
		}

		public void CalculateBoneAngles()
		{
			method_8("CalculateBoneAngles");
		}

		public float Simplex1D(float x)
		{
			return method_11<float>("Simplex1D", new object[1] { x });
		}

		public float Interpolate(int h, float x)
		{
			return method_11<float>("Interpolate", new object[2] { h, x });
		}

		public int GetRandomNumber(int index)
		{
			return method_11<int>("GetRandomNumber", new object[1] { index });
		}
	}
}
